package com.george.shiro.model.service;

import com.george.shiro.model.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.george.shiro.vo.UserConditionVO;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author george
 * @since 2019-05-21
 */
public interface IUserService extends IService<User> {

    List<User> findUserList();

    /**
     * 根据用户名查询用户信息
     * @param username 用户名（登录账户）
     * @return 登录用户
     */
    User findByUsername(String username);

    /**
     * 更新用户的最后登录信息
     * @param user 用户数据
     */
    void updateUserLastLoginInfo(User user);

    /**
     * 分页查询用户
     * @param vo
     * @return
     */
    PageInfo<User> findPageBreakByCondition(UserConditionVO vo);

    /**
     * 根据角色id查询用户
     * @param roleId
     * @return
     */
    List<User> listByRoleId(Long roleId);
}
